// pstat class
function PStat() {
	this._initialized;

	if (typeof this._initialized  === 'undefined') {// 初始化
		// Form 加载方法
		this.loadForm = function(formId, params) {
			if (formId == 'stat_search_form') {
				this.initFormStat(formId);
			} else if (formId == 'search_column_form') {
				this.initFormColumn(formId);
			}

			// 设置表格颜色交替
			this.setTableStyle();
		}
		// Push统计/详细页搜索表单
		this.initFormStat = function(formId) {
			// 设置可选择起始日期
			$("#query_date_calendar").datepick(
				{
					minDate: new Date(2013, 9, 1),// 月份从0开始编号 1月/0, 2月/1 ... 
					maxDate: new Date(),
					dateFormat: 'yy-mm-dd'
				}
			);
			
			// 选择日期按钮事件
			$('input[name="query_date"]').change(function() {
				var checkedValue = parseInt($('input[name="query_date"]:checked').val());
				if (checkedValue == 3) {
					$("#query_date_calendar").focus();
				}
			});
			
			// 日历控件事件
			$("#query_date_calendar").focus(function() {
				$("#query_date_3").attr("checked", true);
			});
			
			// 年份下拉框事件
			$('#query_date_year').focus(function() {
				$("#query_date_7").attr("checked", true);
			});
			
			// 月份下拉框事件
			$('#query_date_month').focus(function() {
				$("#query_date_7").attr("checked", true);
			});
		
			// 查询按钮事件
			$("#btn_query").click(function () {
				if(!$(':radio[name=query_date]:checked').length) {
					$.growlUI('client', '时段参数无效, 请选择');
					$("#query_date").focus();
					return;
				}

				var pattern = /^((?!0000)[0-9]{4}-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)|([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)$/;
				if (!pattern.exec($("#query_date_calendar").val())) {
					var checkedValue = parseInt($('input[name="query_date"]:checked').val());
					if (checkedValue == 3) {
						$.growlUI('client', '时间参数无效(日期无效)');
						$("#query_date_calendar").select();
						return;
					}
				}
				
				$("#" + formId).submit();
			});
		}
		
		// Push发送结果查询页查询表单
		this.initFormColumn = function(formId) {
			// 查询日期显示/隐藏
			$("#field_name").val() != 'token' ? $("#query_date_box").hide() : null;
			// 设置默认文本
			$("#field_value").val().length == 0 ? $("#field_value").attr('value', getFieldValueText()) : null;
			
			// 设置起始日期
			$("#query_date_start").datepick(
				{
					minDate: new Date(2013, 9, 1),// 月份从0开始编号 1月/0, 2月/1 ... 
					maxDate: new Date(),
					dateFormat: 'yy-mm-dd',
					//onSelect:function(selectedDate){ setDate('query_date_start', 'query_date_end', selectedDate); }
				}
			);

			// 设置结束日期
			$("#query_date_end").datepick(
				{
					minDate: new Date(2013, 9, 1),// 月份从0开始编号 1月/0, 2月/1 ... 
					maxDate: new Date(),
					dateFormat: 'yy-mm-dd',
					//onSelect:function(selectedDate){ setDate('query_date_end', 'query_date_start', selectedDate); }
				}
			);

			/*			
			function setDate(source_id, target_id, dateText) {

			}
			*/

			// 加载表单初始设置
			$("#field_name").change(function() {
				if ($("#field_name").val() != 'token') {
					$("#query_date_box").hide();
				} else {
					$("#query_date_box").show();
				}

				$("#field_value").attr('value', getFieldValueText());
				$("#field_value").select();
			});

			// 查询按钮事件
			$("#btn_submit").click(function() {
				// 验证查询值
				if ($("#field_value").val().length <= 0 || $("#field_value").val() == getFieldValueText()) {
					$.growlUI('client', getFieldValueText());
					$("#field_value").select();
					return;
				}
				
				// 列名选择token时间, 验证日期
				if ($("#field_name").val() == 'token') {
					// EMPTY/日期全部为空 ALL/日期全部填写 START/开始日期为空 END/结束日期为空 
					var result = $("#query_date_start").val().length && $("#query_date_end").val().length ? 'ALL' : ($("#query_date_start").val().length ? 'END_EMPTY' : ($("#query_date_end").val().length ? 'START_EMPTY' : 'EMPTY'));
					
					if (result != 'EMPTY') {
						if (result == 'START_EMPTY') {
							$.growlUI('client', '请填写开始日期');
							$("#query_date_start").focus();

							return;
						} else if (result == 'END_EMPTY') {
							$.growlUI('client', '请填写结束日期');
							$("#query_date_end").focus();

							return;
						} else if (result == 'ALL') {
							if ($("#query_date_start").val() > $("#query_date_end").val()) {
								$.growlUI('client', '开始日期不能大于结束日期');
								$("#query_date_start").focus();
								return;
							}
						} else {}
					}
				}

				// 提交表单
				$("#" + formId).submit();

				return;
			});
			
			// 字段值文本框获取焦点事件
			$("#field_value").focus(function() {
				if ($(this).val() == getFieldValueText()) {
					$(this).attr('value', '');
					return;
				} 
			});

			// 字段值文本框失去焦点事件
			$("#field_value").blur(function() {
				if ($(this).val() == '') {
					$(this).attr('value', getFieldValueText());
				} 
			});

			// 获取字段值输入框默认文本
			function getFieldValueText () {
				var str = '请输入' + ($("#field_name").val() == 'token' ? 'Token' : 'ID');

				return str;
			}
		}
		
		// 表格颜色交替
		this.setTableStyle = function() {
			$("table tr:nth-child(even)tr:not(.all)").addClass("even"); 
		}

		// 显示Push详细页面方法
		this.show_detail = function (id) {
			$.post("?do=pd&id=" + id, null, function (html) {
				  $.blockUI({ 
						message: html,
						css: {// 弹出元素的CSS属性
							border:'0',
							padding: '1px', 
							textAlign: 'left',
							width: '670px',
							height:'495px',
							
							top: '50%',
							left: '50%',
							marginLeft: '-335px',
							marginTop: '-220px',
							cursor: 'default',
							//centerY: true, //Y 方向上不居中
						},
						onOverlayClick: $.unblockUI 
				  }); 
				 $('.close').click($.unblockUI);// 关闭按钮事件 
			}, "html");

		}

		this.show_msg = function(title, content) {
	/*
			var html = '<h4 style="color:#fff">' + title + '<span class="close_img"><a href="#" class="close" style="color:#fff">Close</a></span></h4><hr color="#fff"><span id="html-content">' + content + '</span>';

			$.blockUI({
				message: html,
				css: {
					color:"#fff", 
					backgroundColor: '#408080', 
					top: '10px', 
					left: '', 
					right: '10px', 
					cursor: 'default', 
					padding:'10px', 
					textAlign:'left',
				},
				showOverlay: false,
				onOverlayClick: $.unblockUI,
			});
			
			$('.close').click($.unblockUI);// 关闭按钮事件 
	*/			
	/*
			var html = '<span id="html-content">' + content + '</span>';
			$.growlUI(title, html, false);
	*/
		}
		
	}
}

var pstat = new PStat();